/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package share;

/**
 *
 * @author mire
 */
public class ErrorException extends Exception {

    private String errorMessage;
    private String shortErrorMessage;

    public ErrorException(String s) {
        super(getErrorMessage(s));
        shortErrorMessage = s;
        errorMessage = getErrorMessage(s);
    }

    private static String getErrorMessage(String s) {
        try {
            ErrorType et = ErrorType.valueOf(s);

            switch (et) {
                case ERROR_NO_NUMBER:
                    s = "Број који сте унели не постоји!";
                    break;

                case ERROR_NO_OPERATOR:
                    s = "Оператер не постоји!";
                    break;

                case ERROR_NOT_REMOVED:
                    s = "Неуспео пренос броја!";
                    break;

                case ERROR_NO_LOG:
                    s = "Историја о преносу је празна!";
                    break;

                case ERROR_WRONG_OPERATOR:
                    s = "Погрешан опаретер!";
                    break;

                case ERROR_NUMBER:
                    s = "Погрешно унет број!!\nМогуће је унети само шестоцифрене бројеве.";
                    break;

                case ERROR_ID_NUMBER_MISMATCH:
                    s = "Број и идентификација се не слажу!";
                    break;

                case ERROR_NUMBER_SAME_OPERATOR:
                    s = "Унет корисник је већ корисник овог оператера!";
                    break;

                case ERROR_CENTRAL_SERVER_DOWN:
                    s = "Централни сервер је пао!\nТренутни захтев није могуће испунити.";
                    break;

                case ERROR_NO_REQUEST:
                    s = "Захтев не постоји!";
                    break;

                case ERROR_WRONG_REQUEST:
                    s = "Погрешан захтев!";
                    break;

                case ERROR_UNKNOWN_SERVER:
                    s = "Ваш сервер не припада серверима оператера!";
                    break;

                case ERROR_UNKNOWN_CLIENT:
                    s = "Ваша филијала не припада филијалама оператера!";
                    break;
                    
                case ERROR_EMPTY_FILE:
                    s = "Унели сте празну датотеку!";
                    break;                 
            }

        } catch (IllegalArgumentException ex) {
        }

        return s;
    }

    public String getShortErrorMessage() {
        return shortErrorMessage;
    }

    @Override
    public String toString() {
        return errorMessage;
    }
}
